﻿using DoNet.Core.Models;
using SqlSugar;
using System.ComponentModel;

namespace DoNet.Bpmn.Models
{
    /// <summary>
    /// 流程节点HRBP表，数据实体对象
    /// </summary>
    [SugarTable("Bpmn_NodeBusinessTableConfig", "流程节点HRBP表")]
    [Serializable]
    public class BpmnNodeBusinessTableConfig : TenantEntity, ICreationAudited, IModificationAudited, IDeleteAudited
    {
        /*
        `id`                       int(11)             NOT NULL AUTO_INCREMENT COMMENT 'id',
        `bpmn_node_id`             bigint(20)          NOT NULL COMMENT 'node id',
        `configuration_table_type` int(11)                      DEFAULT NULL COMMENT 'conf table type',
        `table_field_type`         int(11)                      DEFAULT NULL COMMENT 'table field type',
        `sign_type`                int(11)             NOT NULL COMMENT 'ign type 1:all sign,2: or sign',
        `remark`                   varchar(255)        NOT NULL DEFAULT '' COMMENT 'remark',
        `is_del`                   tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '0:no,1:yes',
        `create_user`              varchar(50)                  DEFAULT '' COMMENT 'as its name says',
        `create_time`              timestamp           NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'as its name says',
        `update_user`              varchar(50)                  DEFAULT '' COMMENT 'as its name says',
        `update_time`              timestamp           DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'as its name says',
        PRIMARY KEY (`id`) USING BTREE,
        KEY `index_node_id` (`bpmn_node_id`) USING BTREE 
        
        public long BpmnNodeId { get; set; }
        public int? ConfigurationTableType { get; set; }
        public int? TableFieldType { get; set; }
        public int? SignType { get; set; }
        public string Remark { get; set; }
        public int IsDel { get; set; }
        */
        /// <summary>
        /// 获取或设置 编号
        /// </summary>
        [DisplayName("编号")]
        [SugarColumn(IsPrimaryKey = true, ColumnDescription = "编号,主键")]
        public override long Id { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [SugarColumn(ColumnDescription = "")]
        public virtual long BpmnNodeId { get; set; }

        /// <summary>
        /// 
        /// </summary>
        [SugarColumn(ColumnDescription = "")]
        public virtual int? ConfigurationTableType { get; set; }

        /// <summary>
        /// 
        /// </summary>
        [SugarColumn(ColumnDescription = "")]
        public virtual int? TableFieldType { get; set; }

        /// <summary>
        /// 
        /// </summary>
        [SugarColumn(ColumnDescription = "")]
        public virtual int? SignType { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [SugarColumn(ColumnDescription = "备注")]
        public virtual string Description { get; set; } = string.Empty;

        /// <summary>
        /// 创建日期
        /// </summary>
        [SugarColumn(ColumnDescription = "创建日期")]
        public virtual DateTime? CreatorTime { get; set; }

        /// <summary>
        /// 创建用户主键
        /// </summary>
        [SugarColumn(ColumnDescription = "创建用户主键")]
        public virtual long? CreatorUserId { get; set; }

        /// <summary>
        /// 最后修改时间
        /// </summary>
        [SugarColumn(ColumnDescription = "最后修改时间")]
        public virtual DateTime? LastModifyTime { get; set; }

        /// <summary>
        /// 最后修改用户
        /// </summary>
        [SugarColumn(ColumnDescription = "最后修改用户")]
        public virtual long? LastModifyUserId { get; set; }

        /// <summary>
        /// 删除标志
        /// </summary>
        [SugarColumn(ColumnDescription = "删除标志")]
        public virtual bool DeleteMark { get; set; }

        /// <summary>
        /// 删除时间
        /// </summary>
        [SugarColumn(ColumnDescription = "删除时间")]
        public virtual DateTime? DeleteTime { get; set; }

        /// <summary>
        /// 删除用户
        /// </summary>
        [SugarColumn(ColumnDescription = "删除用户")]
        public virtual long? DeleteUserId { get; set; }
    }
}
